date<-"2021-03-31"
#date<-as.Date(Sys.time())

three_years<-'2018-01-01/2021-01-01'
one_year<-'2020-01-01/2021-03-31'

0413更新:新增控制回撤方法

0422更新:新增机器学习资产配置的模型:Hierarchical Risk Parity(HRP)

Protective Asset Allocation

Reference:Keller W J, Keuning J W. Protective asset allocation (PAA): a simple momentum-based alternative for term deposits[J]. Available at SSRN 2759734, 2016.

#PAA
symbol<- c(
  "159925.OF",   #南方沪深300ETF
  "160133.OF",   #南方天元新产业
  "510500.OF",   #南方中证500ETF
  "510290.OF",   #南方上证380ETF
  "512330.OF",   #南方中证500信息技术ETF
  "510160.OF",   #南方小康产业ETF
  "159903.OF",   #南方深成ETF
  "513600.OF",   #南方恒生ETF
  "160106.OF",   #南方高增长
  "512340.OF",   #南方中证500原材料ETF
  "160105.OF",   #南方积极配置
  "159948.OF",   #南方创业板ETF
  "N00140.SH",   #五年国债
  "N11077.SH"    #十年国债

)
strategy <- PAA(assets_price, 6, 6)

1. Performance Summary

charts.PerformanceSummary(ret.three_years, date.format="%Y%m")

charts.PerformanceSummary(ret.one_year, date.format="%Y%m")

tab.perf2(portf.ret[three_years,],bench.ret[three_years,])
## [1] "                          Strategy Benchmark"
## [1] "       Cumulative Return  33.04% 22.78%"
## [1] "       Annualized Return  10.36% 7.34%"
## [1] "   Annualized Volatility  18.15% 12.89%"
## [1] "            Sharpe Ratio  0.57 0.57"
## [1] "           Sortino Ratio  0.06 0.05"
## [1] "            Max Drawdown  26.45% 19.74%"
## [1] "        Longest Drawdown   23 m  23 m"
## [1] "        Best Month Return 13.24% 8.66%"
## [1] "       Worst Month Return -10.59% -5.12%"
tab.perf2(portf.ret[one_year,],bench.ret[one_year,])
## [1] "                          Strategy Benchmark"
## [1] "       Cumulative Return  18.87% 14.92%"
## [1] "       Annualized Return  15.57% 12.34%"
## [1] "   Annualized Volatility  19.89% 14.13%"
## [1] "            Sharpe Ratio  0.78 0.87"
## [1] "           Sortino Ratio  0.07 0.08"
## [1] "            Max Drawdown  12.87% 10.14%"
## [1] "        Longest Drawdown    5 m   6 m"
## [1] "        Best Month Return 10.01% 7.85%"
## [1] "       Worst Month Return -5.89% -4.03%"

2. Position

chart.StackedBar(portf$BOP.Value[three_years], date.format="%y/%m", colorset=rainbow12equal, border=NA)

3. Returns

3.1 Calendar Returns

1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月 Strategy
2018 1.64 -3.37 -2.75 -3.36 2.81 -5.01 1.09 -5.55 1.28 -10.59 1.33 -1.09 -21.89
2019 4.09 13.24 3.45 -1.12 -3.80 4.07 2.26 0.59 2.32 0.97 -1.28 5.96 34.20
2020 1.85 -0.57 -5.89 5.99 2.91 10.01 9.15 1.02 -5.07 0.52 3.06 2.35 26.93
1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月 Benchmark
2018 3.74 -3.58 -1.82 -2.14 0.94 -4.19 0.62 -3.02 1.95 -5.12 0.36 -3.03 -14.63
2019 3.86 8.66 3.23 0.67 -4.25 3.65 0.70 -0.38 0.36 1.24 -0.83 4.28 22.68
2020 -1.33 -1.16 -4.03 3.75 -0.46 5.14 7.85 1.67 -2.79 1.46 3.46 3.08 17.23

3.2 Interval Returns

Strategy Benchmark
Last Week 0.01 0.00
Last Month -0.05 -0.03
Last 3 Months -0.04 0.00
Last 6 months -0.01 0.06
Year to Date -0.06 -0.02
Last Year 0.26 0.23
Last 3 Years 0.30 0.23

4. Correlation of assets invested

three years

one year

Generalized Protective Momentum

Reference:Keller W J, Butler A. A century of generalized momentum; from flexible asset allocations (FAA) to elastic asset allocation (EAA)[J]

#GPM
symbol<- c(
  "159925.OF",   #南方沪深300ETF
  "160133.OF",   #南方天元新产业
  "510500.OF",   #南方中证500ETF
  "510290.OF",   #南方上证380ETF
  "512330.OF",   #南方中证500信息技术ETF
  "510160.OF",   #南方小康产业ETF
  "159903.OF",   #南方深成ETF
  "513600.OF",   #南方恒生ETF
  "160106.OF",   #南方高增长
  "512340.OF",   #南方中证500原材料ETF
  "160105.OF",   #南方积极配置
  "159948.OF",   #南方创业板ETF
  "N00140.SH",   #五年国债
  "N11077.SH"    #十年国债
)
strategy <- GPM(assets_price, 6, 12)

1. Performance Summary

charts.PerformanceSummary(ret.three_years, date.format="%Y%m")

charts.PerformanceSummary(ret.one_year, date.format="%Y%m")

tab.perf2(portf.ret[three_years,],bench.ret[three_years,])
## [1] "                          Strategy Benchmark"
## [1] "       Cumulative Return  53.83% 22.78%"
## [1] "       Annualized Return  16.03% 7.34%"
## [1] "   Annualized Volatility  19.30% 12.89%"
## [1] "            Sharpe Ratio  0.83 0.57"
## [1] "           Sortino Ratio  0.08 0.05"
## [1] "            Max Drawdown  25.14% 19.74%"
## [1] "        Longest Drawdown   18 m  23 m"
## [1] "        Best Month Return 13.24% 8.66%"
## [1] "       Worst Month Return -10.59% -5.12%"
tab.perf2(portf.ret[one_year,],bench.ret[one_year,])
## [1] "                          Strategy Benchmark"
## [1] "       Cumulative Return  30.77% 14.92%"
## [1] "       Annualized Return  25.19% 12.34%"
## [1] "   Annualized Volatility  20.54% 14.13%"
## [1] "            Sharpe Ratio  1.23 0.87"
## [1] "           Sortino Ratio  0.10 0.08"
## [1] "            Max Drawdown  13.44% 10.14%"
## [1] "        Longest Drawdown    6 m   6 m"
## [1] "        Best Month Return 10.54% 7.85%"
## [1] "       Worst Month Return -5.64% -4.03%"

2. Position

chart.StackedBar(portf$BOP.Value[three_years], date.format="%y/%m", colorset=rainbow12equal, border=NA)

3. Returns

3.1 Calendar Returns

1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月 Strategy
2018 1.64 -3.38 -1.97 -3.36 2.81 -3.26 1.26 -5.55 0.25 -10.59 1.75 -1.09 -20.18
2019 2.66 13.24 5.85 0.71 -5.55 6.54 5.00 1.19 3.66 1.78 -2.03 6.59 45.96
2020 1.24 1.58 -5.64 5.99 2.91 8.83 10.54 0.88 -5.07 2.36 -0.05 5.81 32.02
1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月 Benchmark
2018 3.74 -3.58 -1.82 -2.14 0.94 -4.19 0.62 -3.02 1.95 -5.12 0.36 -3.03 -14.63
2019 3.86 8.66 3.23 0.67 -4.25 3.65 0.70 -0.38 0.36 1.24 -0.83 4.28 22.68
2020 -1.33 -1.16 -4.03 3.75 -0.46 5.14 7.85 1.67 -2.79 1.46 3.46 3.08 17.23

3.2 Interval Returns

Strategy Benchmark
Last Week 0.01 0.00
Last Month -0.05 -0.03
Last 3 Months 0.01 0.00
Last 6 months 0.07 0.06
Year to Date -0.01 -0.02
Last Year 0.35 0.23
Last 3 Years 0.58 0.23

4. Correlation of assets invested

three years

one year

Adaptive Asset Allocation

#AAA
symbol<- c(
  "159925.OF",   #南方沪深300ETF
  "160133.OF",   #南方天元新产业
  "510500.OF",   #南方中证500ETF
  "510290.OF",   #南方上证380ETF
  "512330.OF",   #南方中证500信息技术ETF
  "510160.OF",   #南方小康产业ETF
  "159903.OF",   #南方深成ETF
  "513600.OF",   #南方恒生ETF
  "160106.OF",   #南方高增长
  "512340.OF",   #南方中证500原材料ETF
  "160105.OF",   #南方积极配置
  "159948.OF",   #南方创业板ETF
  "N00140.SH",   #五年国债
  "N11077.SH"    #十年国债
)
strategy <- AAA(assets_price, n.top=7,n.mom=6*21,n.vol=1*21,target.sd=0)

1. Performance Summary

charts.PerformanceSummary(ret.three_years, date.format="%Y%m")

charts.PerformanceSummary(ret.one_year, date.format="%Y%m")

tab.perf2(portf.ret[three_years,],bench.ret[three_years,])
## [1] "                          Strategy Benchmark"
## [1] "       Cumulative Return  41.30% 22.78%"
## [1] "       Annualized Return  12.68% 7.34%"
## [1] "   Annualized Volatility  16.83% 12.89%"
## [1] "            Sharpe Ratio  0.75 0.57"
## [1] "           Sortino Ratio  0.07 0.05"
## [1] "            Max Drawdown  13.21% 19.74%"
## [1] "        Longest Drawdown   20 m  23 m"
## [1] "        Best Month Return 12.30% 8.66%"
## [1] "       Worst Month Return -7.14% -5.12%"
tab.perf2(portf.ret[one_year,],bench.ret[one_year,])
## [1] "                          Strategy Benchmark"
## [1] "       Cumulative Return  32.28% 14.92%"
## [1] "       Annualized Return  26.39% 12.34%"
## [1] "   Annualized Volatility  22.59% 14.13%"
## [1] "            Sharpe Ratio  1.17 0.87"
## [1] "           Sortino Ratio  0.10 0.08"
## [1] "            Max Drawdown  12.77% 10.14%"
## [1] "        Longest Drawdown    6 m   6 m"
## [1] "        Best Month Return 12.30% 7.85%"
## [1] "       Worst Month Return -7.14% -4.03%"

2. Position

chart.StackedBar(portf$BOP.Value[three_years], date.format="%y/%m", colorset=rainbow12equal, border=NA)

3. Returns

3.1 Calendar Returns

1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月 Strategy
2018 2.18 -4.35 -0.88 -0.21 0.46 -0.61 0.33 -1.41 0.37 -2.39 0.95 -1.00 -6.51
2019 1.02 2.42 3.94 -1.19 -6.22 4.83 2.64 1.73 1.60 1.38 -0.13 1.72 14.16
2020 2.47 2.72 -3.85 6.24 0.82 10.85 12.30 0.63 -7.14 1.31 2.59 1.02 32.40
1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月 Benchmark
2018 3.74 -3.58 -1.82 -2.14 0.94 -4.19 0.62 -3.02 1.95 -5.12 0.36 -3.03 -14.63
2019 3.86 8.66 3.23 0.67 -4.25 3.65 0.70 -0.38 0.36 1.24 -0.83 4.28 22.68
2020 -1.33 -1.16 -4.03 3.75 -0.46 5.14 7.85 1.67 -2.79 1.46 3.46 3.08 17.23

3.2 Interval Returns

Strategy Benchmark
Last Week 0.01 0.00
Last Month -0.03 -0.03
Last 3 Months 0.02 0.00
Last 6 months 0.04 0.06
Year to Date 0.00 -0.02
Last Year 0.31 0.23
Last 3 Years 0.46 0.23

4. Correlation of assets invested

three years

one year

Active Combined Asset

Reference:Stoken D. Survival of the Fittest for Investors: Using Darwin’s Laws of Evolution to Build a Winning Portfolio[M]. McGraw Hill Professional, 2011.

# ACA
symbol<- c(
  "159925.OF",  #南方沪深300
  "159948.OF",  #南方创业板ETF
  "510500.OF",  #南方中证500ETF
  "N00140.SH",  #五年国债
  "N11077.SH"   #十年国债
)
strategy <- ACA(assets_price)

1. Performance Summary

charts.PerformanceSummary(ret.three_years, date.format="%Y%m")

charts.PerformanceSummary(ret.one_year, date.format="%Y%m")

tab.perf2(portf.ret[three_years,],bench.ret[three_years,])
## [1] "                          Strategy Benchmark"
## [1] "       Cumulative Return  27.79% 22.78%"
## [1] "       Annualized Return  8.94% 7.34%"
## [1] "   Annualized Volatility  14.95% 12.89%"
## [1] "            Sharpe Ratio  0.60 0.57"
## [1] "           Sortino Ratio  0.06 0.05"
## [1] "            Max Drawdown  16.29% 19.74%"
## [1] "        Longest Drawdown   30 m  23 m"
## [1] "        Best Month Return 15.13% 8.66%"
## [1] "       Worst Month Return -6.52% -5.12%"
tab.perf2(portf.ret[one_year,],bench.ret[one_year,])
## [1] "                          Strategy Benchmark"
## [1] "       Cumulative Return  39.04% 14.92%"
## [1] "       Annualized Return  31.78% 12.34%"
## [1] "   Annualized Volatility  21.16% 14.13%"
## [1] "            Sharpe Ratio  1.50 0.87"
## [1] "           Sortino Ratio  0.13 0.08"
## [1] "            Max Drawdown  10.97% 10.14%"
## [1] "        Longest Drawdown    5 m   6 m"
## [1] "        Best Month Return 15.13% 7.85%"
## [1] "       Worst Month Return -5.65% -4.03%"

2. Position

chart.StackedBar(portf$BOP.Value[three_years], date.format="%y/%m", colorset=rainbow12equal, border=NA)

3. Returns

3.1 Calendar Returns

1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月 Strategy
2018 -0.57 -6.52 -1.21 -1.04 0.41 -2.32 0.29 0.28 0.25 0.29 0.26 0.25 -9.41
2019 0.30 1.58 2.59 -0.50 -5.72 -0.38 0.90 -1.11 0.34 0.52 -0.52 4.79 2.48
2020 6.07 0.40 -5.65 5.41 -2.82 11.54 15.13 -3.46 -2.08 1.66 0.94 7.36 37.65
1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月 Benchmark
2018 3.74 -3.58 -1.82 -2.14 0.94 -4.19 0.62 -3.02 1.95 -5.12 0.36 -3.03 -14.63
2019 3.86 8.66 3.23 0.67 -4.25 3.65 0.70 -0.38 0.36 1.24 -0.83 4.28 22.68
2020 -1.33 -1.16 -4.03 3.75 -0.46 5.14 7.85 1.67 -2.79 1.46 3.46 3.08 17.23

3.2 Interval Returns

Strategy Benchmark
Last Week -0.01 0.00
Last Month -0.02 -0.03
Last 3 Months 0.05 0.00
Last 6 months 0.11 0.06
Year to Date 0.01 -0.02
Last Year 0.39 0.23
Last 3 Years 0.41 0.23

4. Correlation of assets invested

three years

one year

Tactical Bond Strategy

Reference:Paul Novell’s investing for a living

# TBS
symbol<- c(
  "160105.OF",    #南方积极配置
  "510500.OF",    #南方中证500ETF
  "512340.OF",    #南方中证500原材料ETF
  "159948.OF",    #南方创业板ETF
  "159925.OF",    #南方沪深300
  "510290.OF",    #南方上证380ETF
  "159903.OF",    #南方深成ETF
  "N00140.SH",    #五年国债
  "N11077.SH"     #十年国债
)
strategy <- TBS(assets_price)

1. Performance Summary

charts.PerformanceSummary(ret.three_years, date.format="%Y%m")

charts.PerformanceSummary(ret.one_year, date.format="%Y%m")

tab.perf2(portf.ret[three_years,],bench.ret[three_years,])
## [1] "                          Strategy Benchmark"
## [1] "       Cumulative Return  20.16% 22.78%"
## [1] "       Annualized Return  6.54% 7.34%"
## [1] "   Annualized Volatility  14.16% 12.89%"
## [1] "            Sharpe Ratio  0.46 0.57"
## [1] "           Sortino Ratio  0.04 0.05"
## [1] "            Max Drawdown  17.65% 19.74%"
## [1] "        Longest Drawdown   14 m  23 m"
## [1] "        Best Month Return 12.78% 8.66%"
## [1] "       Worst Month Return -9.23% -5.12%"
tab.perf2(portf.ret[one_year,],bench.ret[one_year,])
## [1] "                          Strategy Benchmark"
## [1] "       Cumulative Return  6.78% 14.92%"
## [1] "       Annualized Return  5.64% 12.34%"
## [1] "   Annualized Volatility  17.82% 14.13%"
## [1] "            Sharpe Ratio  0.32 0.87"
## [1] "           Sortino Ratio  0.03 0.08"
## [1] "            Max Drawdown  17.65% 10.14%"
## [1] "        Longest Drawdown    9 m   6 m"
## [1] "        Best Month Return 12.78% 7.85%"
## [1] "       Worst Month Return -9.23% -4.03%"

2. Position

chart.StackedBar(portf$BOP.Value[three_years], date.format="%y/%m", colorset=rainbow12equal, border=NA)

3. Returns

3.1 Calendar Returns

1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月 Strategy
2018 0.30 -4.94 -1.26 0.25 0.31 0.27 0.29 0.28 0.25 0.29 0.27 0.25 -3.50
2019 0.31 0.23 8.00 -3.48 0.26 0.25 0.30 0.47 0.28 0.28 0.25 6.75 14.26
2020 0.21 1.73 -9.23 0.28 0.25 12.78 0.27 2.54 0.26 0.26 0.25 0.26 8.98
1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月 Benchmark
2018 3.74 -3.58 -1.82 -2.14 0.94 -4.19 0.62 -3.02 1.95 -5.12 0.36 -3.03 -14.63
2019 3.86 8.66 3.23 0.67 -4.25 3.65 0.70 -0.38 0.36 1.24 -0.83 4.28 22.68
2020 -1.33 -1.16 -4.03 3.75 -0.46 5.14 7.85 1.67 -2.79 1.46 3.46 3.08 17.23

3.2 Interval Returns

Strategy Benchmark
Last Week 0.00 0.00
Last Month 0.00 -0.03
Last 3 Months -0.02 0.00
Last 6 months -0.01 0.06
Year to Date -0.02 -0.02
Last Year 0.16 0.23
Last 3 Years 0.25 0.23

4. Correlation of assets invested

three years

one year

Accelerating Dual Momentum

Reference:Dual Momentum Investing: An Innovative Strategy for Higher Returns with Lower Risk

# ADM
symbol<- c(
  "159948.OF",  #南方创业板ETF
  "159925.OF",  #南方沪深300
  "510500.OF",  #南方中证500ETF
  "N00140.SH"   #五年国债
)
strategy <- ADM(assets_price)
#write.csv(strategy,"d:\\Users\\XuranZENG\\Desktop\\asset_allocation\\ADM_weights.csv")

1. Performance Summary

charts.PerformanceSummary(ret.three_years, date.format="%Y%m")

charts.PerformanceSummary(ret.one_year, date.format="%Y%m")

tab.perf2(portf.ret[three_years,],bench.ret[three_years,])
## [1] "                          Strategy Benchmark"
## [1] "       Cumulative Return  35.33% 22.78%"
## [1] "       Annualized Return  11.01% 7.34%"
## [1] "   Annualized Volatility  12.00% 12.89%"
## [1] "            Sharpe Ratio  0.92 0.57"
## [1] "           Sortino Ratio  0.09 0.05"
## [1] "            Max Drawdown  12.49% 19.74%"
## [1] "        Longest Drawdown   12 m  23 m"
## [1] "        Best Month Return 17.23% 8.66%"
## [1] "       Worst Month Return -5.03% -5.12%"
tab.perf2(portf.ret[one_year,],bench.ret[one_year,])
## [1] "                          Strategy Benchmark"
## [1] "       Cumulative Return  29.35% 14.92%"
## [1] "       Annualized Return  24.04% 12.34%"
## [1] "   Annualized Volatility  12.90% 14.13%"
## [1] "            Sharpe Ratio  1.86 0.87"
## [1] "           Sortino Ratio  0.18 0.08"
## [1] "            Max Drawdown  9.68% 10.14%"
## [1] "        Longest Drawdown    8 m   6 m"
## [1] "        Best Month Return 17.23% 7.85%"
## [1] "       Worst Month Return -2.48% -4.03%"

2. Position

chart.StackedBar(portf$BOP.Value[three_years], date.format="%y/%m", colorset=rainbow12equal, border=NA)

3. Returns

3.1 Calendar Returns

1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月 Strategy
2018 0.31 0.26 0.28 -4.10 0.32 0.26 0.29 0.28 0.25 0.27 0.25 -5.03 -6.38
2019 0.28 0.23 9.68 -4.29 0.26 0.23 0.29 2.31 0.27 0.28 0.26 7.89 18.34
2020 0.21 0.32 0.28 0.27 0.25 17.23 0.25 -2.48 0.23 0.22 0.23 4.46 22.15
1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月 Benchmark
2018 3.74 -3.58 -1.82 -2.14 0.94 -4.19 0.62 -3.02 1.95 -5.12 0.36 -3.03 -14.63
2019 3.86 8.66 3.23 0.67 -4.25 3.65 0.70 -0.38 0.36 1.24 -0.83 4.28 22.68
2020 -1.33 -1.16 -4.03 3.75 -0.46 5.14 7.85 1.67 -2.79 1.46 3.46 3.08 17.23

3.2 Interval Returns

Strategy Benchmark
Last Week 0.00 0.00
Last Month 0.00 -0.03
Last 3 Months 0.09 0.00
Last 6 months 0.11 0.06
Year to Date 0.06 -0.02
Last Year 0.28 0.23
Last 3 Years 0.42 0.23

4. Correlation of assets invested

three years

one year

Traditional Dual Momentum

Reference:Antonacci G. Risk premia harvesting through dual momentum[J]. Journal of Management & Entrepreneurship, 2018, 2(1): 27-56.

# TDM
symbol<- c(
  "159925.OF",  #南方沪深300
  "159948.OF",  #南方创业板ETF
  "N00140.SH",  #五年国债
  "N11077.SH"   #十年国债
)
strategy <- TDM(assets_price)

returns.daily <-as.xts(na.omit(ROC(assets_price))[,1:3] )

# returns.daily <-as.xts(na.omit(ROC(wdata))[,1:3] )

1. Performance Summary

charts.PerformanceSummary(ret.three_years, date.format="%Y%m")

charts.PerformanceSummary(ret.one_year, date.format="%Y%m")

tab.perf2(portf.ret[three_years,],bench.ret[three_years,])
## [1] "                          Strategy Benchmark"
## [1] "       Cumulative Return  59.11% 22.78%"
## [1] "       Annualized Return  17.98% 7.34%"
## [1] "   Annualized Volatility  17.21% 12.89%"
## [1] "            Sharpe Ratio  1.04 0.57"
## [1] "           Sortino Ratio  0.09 0.05"
## [1] "            Max Drawdown  13.29% 19.74%"
## [1] "        Longest Drawdown   23 m  23 m"
## [1] "        Best Month Return 17.23% 8.66%"
## [1] "       Worst Month Return -6.76% -5.12%"
tab.perf2(portf.ret[one_year,],bench.ret[one_year,])
## [1] "                          Strategy Benchmark"
## [1] "       Cumulative Return  62.25% 14.92%"
## [1] "       Annualized Return  49.96% 12.34%"
## [1] "   Annualized Volatility  23.39% 14.13%"
## [1] "            Sharpe Ratio  2.14 0.87"
## [1] "           Sortino Ratio  0.17 0.08"
## [1] "            Max Drawdown  12.96% 10.14%"
## [1] "        Longest Drawdown   16 m   6 m"
## [1] "        Best Month Return 17.23% 7.85%"
## [1] "       Worst Month Return 0.23% -4.03%"

2. Position

chart.StackedBar(portf$BOP.Value[three_years], date.format="%y/%m", colorset=rainbow12equal, border=NA)

3. Returns

3.1 Calendar Returns

1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月 Strategy
2018 NA -5.60 0.28 0.25 0.57 -6.76 0.29 0.28 0.26 0.30 0.27 0.25 -9.53
2019 0.31 0.23 0.26 1.65 0.26 0.25 2.59 -1.32 0.28 2.48 -0.69 7.89 14.82
2020 7.08 5.16 0.29 0.28 0.49 17.23 13.36 0.26 0.26 0.26 0.25 0.26 53.16
1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月 Benchmark
2018 3.74 -3.58 -1.82 -2.14 0.94 -4.19 0.62 -3.02 1.95 -5.12 0.36 -3.03 -14.63
2019 3.86 8.66 3.23 0.67 -4.25 3.65 0.70 -0.38 0.36 1.24 -0.83 4.28 22.68
2020 -1.33 -1.16 -4.03 3.75 -0.46 5.14 7.85 1.67 -2.79 1.46 3.46 3.08 17.23

3.2 Interval Returns

Strategy Benchmark
Last Week 0.00 0.00
Last Month 0.00 -0.03
Last 3 Months 0.06 0.00
Last 6 months 0.07 0.06
Year to Date 0.06 -0.02
Last Year 0.44 0.23
Last 3 Years 0.78 0.23

4. Correlation of assets invested

three years

one year

Vigilant Asset Allocation

Reference:Keller W, Keuning J W. Breadth Momentum and Vigilant Asset Allocation (VAA): Winning More by Losing Less[J]. 2018.

#VAA
symbol<- c(
  "159925.OF",  #南方沪深300
  "159948.OF",  #南方创业板ETF
  "510500.OF",  #南方中证500ETF
  "160133.OF",  #南方天元新产业
  "160105.OF",  #南方积极配置
  "N00140.SH",  #五年国债
  "N11077.SH"   #十年国债
)
strategy <- VAA(assets_price)

1. Performance Summary

charts.PerformanceSummary(ret.three_years, date.format="%Y%m")

charts.PerformanceSummary(ret.one_year, date.format="%Y%m")

tab.perf2(portf.ret[three_years,],bench.ret[three_years,])
## [1] "                          Strategy Benchmark"
## [1] "       Cumulative Return  48.60% 22.78%"
## [1] "       Annualized Return  15.49% 7.34%"
## [1] "   Annualized Volatility  18.64% 12.89%"
## [1] "            Sharpe Ratio  0.83 0.57"
## [1] "           Sortino Ratio  0.08 0.05"
## [1] "            Max Drawdown  15.24% 19.74%"
## [1] "        Longest Drawdown   14 m  23 m"
## [1] "        Best Month Return 13.36% 8.66%"
## [1] "       Worst Month Return -4.29% -5.12%"
tab.perf2(portf.ret[one_year,],bench.ret[one_year,])
## [1] "                          Strategy Benchmark"
## [1] "       Cumulative Return  16.27% 14.92%"
## [1] "       Annualized Return  13.45% 12.34%"
## [1] "   Annualized Volatility  24.39% 14.13%"
## [1] "            Sharpe Ratio  0.55 0.87"
## [1] "           Sortino Ratio  0.05 0.08"
## [1] "            Max Drawdown  15.24% 10.14%"
## [1] "        Longest Drawdown    9 m   6 m"
## [1] "        Best Month Return 13.36% 7.85%"
## [1] "       Worst Month Return -7.25% -4.03%"

2. Position

chart.StackedBar(portf$BOP.Value[three_years], date.format="%y/%m", colorset=rainbow12equal, border=NA)

3. Returns

3.1 Calendar Returns

1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月 Strategy
2018 NA NA 0.28 0.26 0.32 0.26 0.29 0.28 0.26 0.30 0.27 0.25 2.82
2019 0.31 0.23 9.68 -4.29 0.26 0.23 0.29 -0.15 6.91 -0.76 -2.03 4.94 15.85
2020 7.08 5.16 -1.50 0.27 0.25 0.29 13.36 -2.48 0.23 0.22 0.23 0.23 24.75
1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月 Benchmark
2018 3.74 -3.58 -1.82 -2.14 0.94 -4.19 0.62 -3.02 1.95 -5.12 0.36 -3.03 -14.63
2019 3.86 8.66 3.23 0.67 -4.25 3.65 0.70 -0.38 0.36 1.24 -0.83 4.28 22.68
2020 -1.33 -1.16 -4.03 3.75 -0.46 5.14 7.85 1.67 -2.79 1.46 3.46 3.08 17.23

3.2 Interval Returns

Strategy Benchmark
Last Week 0.00 0.00
Last Month 0.00 -0.03
Last 3 Months -0.07 0.00
Last 6 months -0.06 0.06
Year to Date -0.07 -0.02
Last Year 0.06 0.23
Last 3 Years 0.38 0.23

4. Correlation of assets invested

three years

one year

Robust Asset Allocation-Aggressive

References:Tütüncü R H, Koenig M. Robust asset allocation[J]. Annals of Operations Research, 2004, 132(1): 157-187.

# RAA
symbol<- c(
  "159948.OF",  #南方创业板ETF
  "159925.OF",  #南方沪深300
  "N11077.SH"   #十年国债
)
#RAA
strategy <- RAA.Aggressive(returns.daily)

1. Performance Summary

charts.PerformanceSummary(ret.three_years, date.format="%Y%m")

charts.PerformanceSummary(ret.one_year, date.format="%Y%m")

tab.perf2(portf.ret[three_years,],bench.ret[three_years,])
## [1] "                          Strategy Benchmark"
## [1] "       Cumulative Return  68.61% 22.78%"
## [1] "       Annualized Return  19.76% 7.34%"
## [1] "   Annualized Volatility  18.23% 12.89%"
## [1] "            Sharpe Ratio  1.08 0.57"
## [1] "           Sortino Ratio  0.10 0.05"
## [1] "            Max Drawdown  18.45% 19.74%"
## [1] "        Longest Drawdown    8 m  23 m"
## [1] "        Best Month Return 14.65% 8.66%"
## [1] "       Worst Month Return -8.94% -5.12%"
tab.perf2(portf.ret[one_year,],bench.ret[one_year,])
## [1] "                          Strategy Benchmark"
## [1] "       Cumulative Return  35.22% 14.92%"
## [1] "       Annualized Return  28.74% 12.34%"
## [1] "   Annualized Volatility  23.17% 14.13%"
## [1] "            Sharpe Ratio  1.24 0.87"
## [1] "           Sortino Ratio  0.10 0.08"
## [1] "            Max Drawdown  18.45% 10.14%"
## [1] "        Longest Drawdown    4 m   6 m"
## [1] "        Best Month Return 14.65% 7.85%"
## [1] "       Worst Month Return -8.94% -4.03%"

2. Position

chart.StackedBar(portf$BOP.Value[three_years], date.format="%y/%m", colorset=rainbow12equal, border=NA)

3. Returns

3.1 Calendar Returns

1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月 Strategy
2018 -1.64 0.14 3.09 0.26 0.32 0.26 0.29 -0.54 -2.46 0.27 0.25 0.23 0.39
2019 0.28 0.54 8.24 -3.77 0.26 0.23 -0.25 1.75 0.86 2.68 -0.34 7.01 18.31
2020 5.51 4.04 -8.94 0.27 1.60 14.65 12.20 -0.64 0.23 0.22 0.32 8.23 41.96
1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月 Benchmark
2018 3.74 -3.58 -1.82 -2.14 0.94 -4.19 0.62 -3.02 1.95 -5.12 0.36 -3.03 -14.63
2019 3.86 8.66 3.23 0.67 -4.25 3.65 0.70 -0.38 0.36 1.24 -0.83 4.28 22.68
2020 -1.33 -1.16 -4.03 3.75 -0.46 5.14 7.85 1.67 -2.79 1.46 3.46 3.08 17.23

3.2 Interval Returns

Strategy Benchmark
Last Week 0.00 0.00
Last Month 0.00 -0.03
Last 3 Months -0.02 0.00
Last 6 months 0.04 0.06
Year to Date -0.05 -0.02
Last Year 0.35 0.23
Last 3 Years 0.58 0.23

4. Correlation of assets invested

three years

one year

Robust Asset Allocation-Balanced

References:Tütüncü R H, Koenig M. Robust asset allocation[J]. Annals of Operations Research, 2004, 132(1): 157-187.

# RAA
symbol<- c(
  "159948.OF",  #南方创业板ETF
  "159925.OF",  #南方沪深300
  "N11077.SH"   #十年国债
)
#RAA
strategy <- RAA.Balanced(returns.daily)

1. Performance Summary

charts.PerformanceSummary(ret.three_years, date.format="%Y%m")

charts.PerformanceSummary(ret.one_year, date.format="%Y%m")

tab.perf2(portf.ret[three_years,],bench.ret[three_years,])
## [1] "                          Strategy Benchmark"
## [1] "       Cumulative Return  46.21% 22.78%"
## [1] "       Annualized Return  14.01% 7.34%"
## [1] "   Annualized Volatility  16.11% 12.89%"
## [1] "            Sharpe Ratio  0.87 0.57"
## [1] "           Sortino Ratio  0.08 0.05"
## [1] "            Max Drawdown  14.37% 19.74%"
## [1] "        Longest Drawdown   10 m  23 m"
## [1] "        Best Month Return 11.32% 8.66%"
## [1] "       Worst Month Return -6.91% -5.12%"
tab.perf2(portf.ret[one_year,],bench.ret[one_year,])
## [1] "                          Strategy Benchmark"
## [1] "       Cumulative Return  29.77% 14.92%"
## [1] "       Annualized Return  24.38% 12.34%"
## [1] "   Annualized Volatility  20.21% 14.13%"
## [1] "            Sharpe Ratio  1.21 0.87"
## [1] "           Sortino Ratio  0.10 0.08"
## [1] "            Max Drawdown  15.60% 10.14%"
## [1] "        Longest Drawdown    9 m   6 m"
## [1] "        Best Month Return 11.32% 7.85%"
## [1] "       Worst Month Return -6.91% -4.03%"

2. Position

chart.StackedBar(portf$BOP.Value[three_years], date.format="%y/%m", colorset=rainbow12equal, border=NA)

3. Returns

3.1 Calendar Returns

1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月 Strategy
2018 2.04 -1.88 0.33 0.26 1.44 -5.91 -0.68 -0.18 -0.62 0.87 0.82 0.73 -3.00
2019 1.62 0.27 5.85 -1.00 -6.43 3.13 -0.13 0.45 0.94 1.65 -0.64 5.90 11.59
2020 2.04 1.51 -6.91 0.27 1.00 10.35 11.32 1.13 0.30 3.68 0.24 6.79 35.06
1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月 Benchmark
2018 3.74 -3.58 -1.82 -2.14 0.94 -4.19 0.62 -3.02 1.95 -5.12 0.36 -3.03 -14.63
2019 3.86 8.66 3.23 0.67 -4.25 3.65 0.70 -0.38 0.36 1.24 -0.83 4.28 22.68
2020 -1.33 -1.16 -4.03 3.75 -0.46 5.14 7.85 1.67 -2.79 1.46 3.46 3.08 17.23

3.2 Interval Returns

Strategy Benchmark
Last Week 0.02 0.00
Last Month -0.04 -0.03
Last 3 Months -0.01 0.00
Last 6 months 0.07 0.06
Year to Date -0.04 -0.02
Last Year 0.35 0.23
Last 3 Years 0.40 0.23

4. Correlation of assets invested

three years

one year

Quint Switching Filtered

Reference:Glenn L A. Simple and Effective Market Timing with Tactical Asset Allocation Part 2-Choices[J]. Available at SSRN 3129098, 2018.

# QSF
symbol<- c(
  "159925.OF",   #南方沪深300
  "160106.OF",   #南方高增长
  "159903.OF",   #南方深成ETF
  "512340.OF",   #南方中证500原材料ETF
  "159948.OF",   #南方创业板ETF
  "N11077.SH"    #十年国债
)
strategy <- QSF(assets_price)

1. Performance Summary

charts.PerformanceSummary(ret.three_years, date.format="%Y%m")

charts.PerformanceSummary(ret.one_year, date.format="%Y%m")

tab.perf2(portf.ret[three_years,],bench.ret[three_years,])
## [1] "                          Strategy Benchmark"
## [1] "       Cumulative Return  51.81% 22.78%"
## [1] "       Annualized Return  15.50% 7.34%"
## [1] "   Annualized Volatility  15.36% 12.89%"
## [1] "            Sharpe Ratio  1.01 0.57"
## [1] "           Sortino Ratio  0.09 0.05"
## [1] "            Max Drawdown  13.38% 19.74%"
## [1] "        Longest Drawdown   16 m  23 m"
## [1] "        Best Month Return 13.36% 8.66%"
## [1] "       Worst Month Return -4.29% -5.12%"
tab.perf2(portf.ret[one_year,],bench.ret[one_year,])
## [1] "                          Strategy Benchmark"
## [1] "       Cumulative Return  44.35% 14.92%"
## [1] "       Annualized Return  35.98% 12.34%"
## [1] "   Annualized Volatility  22.05% 14.13%"
## [1] "            Sharpe Ratio  1.63 0.87"
## [1] "           Sortino Ratio  0.14 0.08"
## [1] "            Max Drawdown  13.38% 10.14%"
## [1] "        Longest Drawdown    8 m   6 m"
## [1] "        Best Month Return 13.36% 7.85%"
## [1] "       Worst Month Return -2.48% -4.03%"

2. Position

chart.StackedBar(portf$BOP.Value[three_years], date.format="%y/%m", colorset=rainbow12equal, border=NA)

3. Returns

3.1 Calendar Returns

1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月 Strategy
2018 0.31 0.26 0.28 0.26 0.32 0.26 0.29 0.28 0.25 0.27 0.25 0.23 3.31
2019 0.28 0.23 9.68 -4.29 0.26 0.23 0.29 0.26 0.27 0.28 0.26 0.28 7.80
2020 9.85 10.05 0.28 0.27 0.25 0.27 13.36 -2.48 0.23 0.22 0.23 0.23 36.32
1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月 Benchmark
2018 3.74 -3.58 -1.82 -2.14 0.94 -4.19 0.62 -3.02 1.95 -5.12 0.36 -3.03 -14.63
2019 3.86 8.66 3.23 0.67 -4.25 3.65 0.70 -0.38 0.36 1.24 -0.83 4.28 22.68
2020 -1.33 -1.16 -4.03 3.75 -0.46 5.14 7.85 1.67 -2.79 1.46 3.46 3.08 17.23

3.2 Interval Returns

Strategy Benchmark
Last Week 0.00 0.00
Last Month 0.00 -0.03
Last 3 Months 0.06 0.00
Last 6 months 0.07 0.06
Year to Date 0.06 -0.02
Last Year 0.19 0.23
Last 3 Years 0.59 0.23

4. Correlation of assets invested

three years

one year

Hierarchical Risk Parity

Reference:Hierarchical Risk Parity: Accounting for Tail Dependencies in Multi-Asset Multi-Factor Allocations

# HRP
symbol<- c(
  "159925.OF",  #南方沪深300
  "159948.OF",  #南方创业板ETF
  "510500.OF",  #南方中证500ETF
  "N00140.SH",  #五年国债
  "N11077.SH"   #十年国债
)
strategy <- HRP(assets_price)

1. Performance Summary

charts.PerformanceSummary(ret.three_years, date.format="%Y%m")

charts.PerformanceSummary(ret.one_year, date.format="%Y%m")

tab.perf2(portf.ret[three_years,],bench.ret[three_years,])
## [1] "                          Strategy Benchmark"
## [1] "       Cumulative Return  62.16% 22.78%"
## [1] "       Annualized Return  19.19% 7.34%"
## [1] "   Annualized Volatility  17.09% 12.89%"
## [1] "            Sharpe Ratio  1.12 0.57"
## [1] "           Sortino Ratio  0.10 0.05"
## [1] "            Max Drawdown  17.98% 19.74%"
## [1] "        Longest Drawdown    8 m  23 m"
## [1] "        Best Month Return 14.04% 8.66%"
## [1] "       Worst Month Return -8.83% -5.12%"
tab.perf2(portf.ret[one_year,],bench.ret[one_year,])
## [1] "                          Strategy Benchmark"
## [1] "       Cumulative Return  41.63% 14.92%"
## [1] "       Annualized Return  33.83% 12.34%"
## [1] "   Annualized Volatility  23.29% 14.13%"
## [1] "            Sharpe Ratio  1.45 0.87"
## [1] "           Sortino Ratio  0.12 0.08"
## [1] "            Max Drawdown  17.98% 10.14%"
## [1] "        Longest Drawdown    9 m   6 m"
## [1] "        Best Month Return 14.04% 7.85%"
## [1] "       Worst Month Return -8.83% -4.03%"

2. Position

chart.StackedBar(portf$BOP.Value[three_years], date.format="%y/%m", colorset=rainbow12equal, border=NA)

3. Returns

3.1 Calendar Returns

1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月 Strategy
2018 NA 0.15 0.55 0.25 0.31 0.27 0.29 -0.31 -0.94 0.30 0.27 0.25 1.40
2019 0.31 0.27 7.21 -1.74 0.26 0.25 -0.22 0.48 2.09 -0.01 -0.87 7.32 15.96
2020 2.53 1.83 -8.83 0.28 1.22 13.07 14.04 1.27 0.26 0.26 0.25 8.49 37.92
1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月 Benchmark
2018 3.74 -3.58 -1.82 -2.14 0.94 -4.19 0.62 -3.02 1.95 -5.12 0.36 -3.03 -14.63
2019 3.86 8.66 3.23 0.67 -4.25 3.65 0.70 -0.38 0.36 1.24 -0.83 4.28 22.68
2020 -1.33 -1.16 -4.03 3.75 -0.46 5.14 7.85 1.67 -2.79 1.46 3.46 3.08 17.23

3.2 Interval Returns

Strategy Benchmark
Last Week 0.00 0.00
Last Month 0.00 -0.03
Last 3 Months 0.07 0.00
Last 6 months 0.12 0.06
Year to Date 0.03 -0.02
Last Year 0.49 0.23
Last 3 Years 0.65 0.23

4. Correlation of assets invested

three years

one year

Summary

three years performance(2018/01/01-2021/01/01)

one year performance(2020/01/01-2021/03/31)